home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 05.zip / BS1 part 5 / CLItools1.adf / SASC60 < prev    next >
Text File  |  1992-08-13  |  12KB  |  269 lines

  1. =======================================================================
  2.  
  3. SAS/C(r) DEVELOPMENT SYSTEM, VERSION 6.0
  4. Software Designed for AmigaDOS(tm)
  5.  
  6. Release date: September 15, 1992
  7.  
  8. SAS Institute, Inc. is pleased to announce version 6.0 of its
  9. C compiler development system for AmigaDOS.
  10.  
  11. Version 6 of the SAS/C Development System was developed 
  12. to provide users with a responsive, controllable C compiler 
  13. designed for the Commodore Amiga.  The System presents 
  14. options for customizing and increasing the speed of
  15. programming activities. Recommended for novices as well 
  16. as experienced programmers, the SAS/C Development System 
  17. addresses the needs of all who program in the C language.
  18.  
  19. New features since version 5 include the following:
  20.  
  21.  * Online help for library functions, commands, and utilities
  22.  * Memory-resident precompiled header files for faster compiles
  23.  * Easy creation and debugging of shared libraries and devices
  24.  * Global optimizer and peephole optimizer
  25.  * #pragma tagcall statement for calling system routines
  26.  * Message Browser
  27.  * Customized Amiga-specific keywords
  28.  * Workbench and shell interfaces
  29.  * CodeProbe debugger
  30.  * Amiga to Amiga cross development
  31.  * Customization of the compiler interface
  32.  * SCOPTS options-setting program
  33.  * Fully integrated Workbench environment
  34.  
  35. Version 6.0 contains 1200 pages of all-new documentation, including
  36. a quick reference guide, library reference manual, and a two-volume
  37. user's guide.  Except for the quick reference guide, all documentation
  38. is in three-ring binders which lie flat while you work.
  39.  
  40. Free technical support is available from the Institute's Technical 
  41. Support Hotline, the Online Customer Support Facility, and on BIX and 
  42. Usenet.
  43.  
  44. The SAS/C Development System works with any Amiga computer running
  45. AmigaDOS version 1.2, 1.3, 2.0 or later.  The System requires 1MB of 
  46. memory, but some features are only available with 2MB or more of system 
  47. memory.  A hard disk is recommended, but the system will work with two 
  48. 880KB 3.5" diskette drives.
  49.  
  50. COST
  51.  
  52.    Suggested Retail Price   $395
  53.  
  54.    Upgrade from SAS/C or
  55.       Lattice C Version 5    109
  56.  
  57.    Users who have already
  58.      purchased the ANSI-
  59.      compliant library       87.20  (with appropriate proof--call for
  60.                                      details)
  61.    Upgrade from Lattice C
  62.       Version 4              197.50
  63.  
  64.    Student discount          197.50
  65.  
  66.    Competitive upgrade       197.50 (with appropriate proof--call for
  67.                                      details)
  68.  
  69. Degree-granting institutions contact SAS Institute about our Academic 
  70. Discount.
  71.  
  72. ORDERING INFORMATION
  73.  
  74. For more information or to order Version 6 of the SAS/C Development 
  75. System, contact your nearest Amiga dealer or SAS Institute at 
  76. 919-677-8000.
  77.  
  78. SAS and SAS/C are registered trademarks of SAS Institute Inc., Cary,
  79. NC, USA. All other trade names references are trademarks or
  80. registered trademarks of their respective companies.
  81.  
  82. =======================================================================
  83.  
  84. The following sections describe in more detail some of the changes and 
  85. enhancements to the SAS/C Development System, Version 6.0.
  86.  
  87. Version 6.0 contains 1200 pages of all-new documentation, including
  88. a quick reference guide, library reference manual, and a two-volume
  89. user's guide.  Except for the quick reference guide, all documentation
  90. is in three-ring binders which lie flat while you work.
  91.  
  92. The SAS/C Development System has an extensive online help system
  93. implemented using AmigaGuide, a hypertext system from Commodore.
  94. The online help describes each utility, CodeProbe command, editor
  95. command, library function, diagnostic message, and compiler option.
  96. Help is available from within the editor, the debugger, the message
  97. browser, the options program and from the Shell command line.
  98.  
  99. The SAS Institute Technical Support Division has a new facility
  100. called EMITS (Electronic Mail Interface to Technical Support) that
  101. allows you to report problems and receive help through Internet.
  102.  
  103. The "lc" compiler front-end has been replaced with the new "sc"
  104. front-end, which takes options in a form similar to AmigaDOS command
  105. templates.  The new "sc" front-end accepts C source files, assembly
  106. language files, object files, and libraries, which means you will
  107. rarely have to invoke the assembler or linker yourself.  You may specify
  108. options before or after the filenames.  Most options have a positive and
  109. a negative form; none are toggles.  This makes it easier to use them
  110. with an options file.
  111.  
  112. To help you make the transition to Version 6, the SAS/C Development
  113. System provides two utilities, "sc5" and "lctosc".  The "sc5" command
  114. accepts options in the form accepted by "lc" and invokes the Version 6
  115. compiler.  The "lctosc" utility accepts options in the form accepted by
  116. "lc" and prints the equivalent "sc" options to stdout.  Both "sc5" and
  117. "lctosc" read the sascopts file, if present.
  118.  
  119. The Version 6.0 compiler, libraries, and header files are completely
  120. ANSI-compliant.  In addition, many language extensions customize
  121. the compiler for the Amiga or simply make coding more convenient.
  122.  
  123. Most of the compiler executables (lc1, lc2, go) have been replaced
  124. by shared libraries.  If your system has enough memory, the shared
  125. libraries remain loaded after their first use, thereby speeding
  126. up compilation significantly.  If memory runs short, the operating
  127. system removes them for you automatically.
  128.  
  129. The precompiled header files in Version 5 have been replaced with
  130. GSTs (Global Symbol Tables).  GSTs are much faster than precompiled
  131. headers because they remain in RAM between compiles if memory permits.
  132. Some additional utilities, "gst" and "hypergst", allow you to
  133. browse the RAM-resident GST files for information on symbols defined
  134. in system header files or in your header files.
  135.  
  136. The new "scmsg" utility enables you to integrate any editor that
  137. supports AREXX into the SAS/C Development System.  A simple compiler
  138. option routes all your error and warning messages to "scmsg", which
  139. can invoke the editor of your choice and communicate with it as
  140. necessary to edit the file and line number containing the error.
  141. You can also program the keys in your editor to ask "scmsg" to 
  142. provide information about the errors and warnings.
  143.  
  144. The new peephole optimizer, which runs concurrently with Phase 2 of the
  145. compiler, improves code quality significantly.  The global optimizer
  146. supports many new optimizations, including inline functions.  You can
  147. use the "__inline" keyword to specify a function that is to be inlined,
  148. or you can give the optimizer conditions under which functions should be
  149. automatically inlined.
  150.  
  151. Code generation has been greatly improved with 6.0.  The new
  152. code generator, in combination with the global and peephole
  153. optimizers, makes much better use of registers and addressing
  154. modes.  The system makes intelligent decisions about what values
  155. should be kept in registers.  Instead of setting up a frame
  156. pointer with the LINK and UNLINK instructions, the compiler
  157. addresses all stack-based data items relative to the stack pointer,
  158. thereby freeing an additional address register for use by your
  159. program.
  160.  
  161. The CodeProbe debugger has numerous enhancements.  The major
  162. enhancements include the following:
  163.  
  164.    The command syntax has been totally rewritten and greatly extended.
  165.  
  166.    Normal C expressions, including casts and function calls, are
  167.    accepted anywhere a variable name can be used.
  168.  
  169.    New windows include a memory window for browsing memory locations
  170.    and a calls window that allows you to see a traceback of all callers
  171.    of the current function.
  172.  
  173.    Built-in functions are available to to perform activities like
  174.    strcmp, strcpy, memcmp, and others from the debugger command line.
  175.  
  176.    New support for debugging AmigaDOS shared libraries.
  177.  
  178.    Automatic detection of enforcer hits caused by your program, halting 
  179.    your program at the location of the hit.
  180.  
  181.    Amiga-to-Amiga cross-debugging capability.  This new feature allows you 
  182.    to run your program on one Amiga and debug the program using another Amiga 
  183.    connected through the serial port or a network file system.
  184.  
  185. The compiler still generates code by default to check for stack overflow
  186. at the entry to each function.  However, this code is more reliable
  187. under Version 6.0.  The compiler also supports a new option that
  188. generates code to allocate a new stack and allow your program to
  189. continue running if the old stack runs out.
  190.  
  191. The compiler now supports the common model for external data as
  192. well as the strict reference-definition model used in 5.10.  Under
  193. strict reference-definition, external data may be declared in more
  194. than one module, but may only be defined in one module.  Under
  195. common model, external data may be defined in more than one module,
  196. and all such definitions are treated as a single definition.  (A
  197. declaration of external data uses the "extern" keyword; a definition
  198. does not.)
  199.  
  200. The compiler now supports an option that generates special code to tell
  201. you which portions of your program were executed by your test cases.  
  202. The new "cover" utility analyzes the data produced by the compiler when 
  203. you specify this option.  This information helps you design test cases 
  204. that test all portions of your code.
  205.  
  206. The "stringmerge" compiler option, equivalent to the "-cs" option in
  207. Version 5, merges all string constants and places them in the code
  208. section.  Unlike the Version 5 option,  "stringmerge"  also places all
  209. data declared "static const" and all automatic initializer data in the
  210. code section.  This makes the near data section smaller and makes it
  211. easier to write code that will go into ROM.
  212.  
  213. The compiler can now produce a disassembly of the generated object code.
  214. The C source code is inserted as comments.
  215.  
  216. The compiler adjusts dynamically to low memory situations.  If you
  217. compile your program and your Amiga runs low on memory, the compiler
  218. displays the message "***Freeing Resources" and frees memory to enable
  219. it to continue the compilation.  You can also use the "memorysize"
  220. compiler option to limit the compiler's memory use.
  221.  
  222. You can designate autoinitialization functions that you want the startup
  223. code to call automatically before it calls your main routine.  You can
  224. also designate autotermination functions that you want the termination
  225. code to call after main returns.
  226.  
  227. System library bases that are not defined in your code are automatically
  228. opened and initialized.  This means that you do not need to explicitly
  229. call OpenLibrary to initialize libraries such as intuition.library,
  230. graphics.library, and others.
  231.  
  232. The SAS/C Compiler now permits references to unnamed unions and direct
  233. references to members of substructures.  The compiler also permits
  234. zero-length arrays as members of structures.
  235.  
  236. The new #pragma tagcall allows you to call AmigaDOS functions that take
  237. a variable parameter list without using assembler stubs.
  238.  
  239. The new #pragma msg allows you to control compiler diagnostic output
  240. more closely.  You can suppress or enable warning messages on a
  241. line-by-line level.
  242.  
  243. The compiler now supports char, short, and long enum types.
  244.  
  245. Compiler error and warning messages are much clearer.  Much more
  246. information is given with the diagnostic.  For example, code that in
  247. previous version of the compiler would have produced the message
  248. "argument type mismatch" would now produce the message "parameter type
  249. mismatch; expecting "BPTR", found "struct FileHandle *" ".  Also,
  250. code that produced the error "external item attribute mismatch" would
  251. now produce the error "function definition conflicts with prototype;
  252. see line 68 file "protos.h" ".
  253.  
  254. The compiler can generate code to call Commodore's "utility.library"
  255. under AmigaDOS 2.0 instead of using compiler-provided stub routines
  256. to perform various out-of-line mathematical operations.
  257.  
  258. In addition to generating function prototypes, the compiler can now
  259. generate declarations for external data items.  This feature allows you
  260. to maintain declarations for all functions and external data items in
  261. your project that are brought up to date automatically simply by
  262. specifying the "genproto" option and recompiling.
  263.  
  264. Examples are provided which show you how to use many of the new
  265. features of the system, including special startup code, coverage
  266. analysis, building shared libraries and so forth.
  267.  
  268.  
  269.